home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 6 / Amiga Format AFCD06 (Nov 1996, Issue 90).iso / serious / shareware / archivers / makesfx / makesfx < prev    next >
AmigaDOS Script File  |  1992-09-03  |  1KB  |  38 lines

  1. .key outfile,dir,pattern
  2. if "<outfile>" eq ""
  3. set out "make.exe"
  4. else
  5. set out "<outfile>.exe"
  6. endif
  7. set pcd "`cd`"
  8. if "<dir>" not eq ""
  9. cd "<dir>"
  10. endif
  11. if "<pattern>" eq ""
  12. set pat "#?"
  13. else
  14. set pat "<pattern>"
  15. endif
  16. echo "Making a self-extracting archive of directory *"`cd`*" to *"$out*"... "
  17.  
  18. echo "Generating source"
  19. list p=$pat files lformat "(%8l) %p%n"
  20. echo >t:make.asm " move.l 4,a6*n lea d(pc),a1*n jsr -408(a6)*n move.l d0,a6*n tst.l d0*n bne.s s*n moveq #20,d0*n rts*nd dc.b 'dos.library',0*n even*ns"
  21. list >>t:make.asm p=$pat files lformat " move.l #e_%k-f_%k,d0*n lea n_%k(pc),a0*n lea f_%k(pc),a1*n jsr w*n jmp j_%k*nn_%k dc.b *"%p%n*",0*n even*nf_%k incbin *"%p%n*"*ne_%k dc.b 0*n even*nj_%k"
  22. echo >>t:make.asm "x move.l a6,a1*n move.l 4,a6*n jmp -414(a6)*nw move.l d0,d5*n move.l a1,a5*n move.l a0,d1*n move.l #1006,d2*n jsr -30(a6)*n move.l d0,d6*n bne.s c*n addq.l #4,sp*n bra.s x*nc move.l d6,d1*n move.l a5,d2*n move.l d5,d3*n jsr -48(a6)*n move.l d6,d1*n jsr -36(a6)*n rts*n end"
  23. unset pat
  24.  
  25. echo "Assembling source"
  26. a68k >nil: t:make.asm -o$out.o
  27. delete >nil: t:make.asm
  28.  
  29. echo "Creating executable file"
  30. blink >nil: from $out.o to $out
  31. delete >nil: $out.o
  32.  
  33. echo "All done, now crunch the file *"$out*""
  34. cd "$pcd"
  35. unset pcd
  36. unset out
  37.  
  38.